<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // RegExp.prototype.exec()
    // 正则表达式 exec 方法的使用

    /*
    * https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec
    * 在设置了 global 或 sticky 标志位的情况下（如 /foo/g 或 /foo/y），JavaScript RegExp 对象是有状态的。
    * 它们会将上次成功匹配后的位置记录在 lastIndex 属性中。使用此特性，exec() 可用来对单个字符串中的多次匹配结果
    * 进行逐条的遍历（包括捕获到的匹配），而相比之下， String.prototype.match() 只会返回匹配到的结果。
    * */

    const arr = [
        // "D:/lizheng39/overseas_pc/public/index.html",
        "D:/lizheng39/overseas_pc/public/indexTW.html",
        "D:/lizheng39/overseas_pc/public/indexHK.html",

    ]

    // 声明在全局，exec就会记住上次匹配的lastIndex
    // const regex = /index[a-zA-Z]+\.html/g

    for (const item of arr) {
        // 这个regex生命在for循环里面，每次都可以匹配，如果声明在全局，exec就会记住上次匹配的lastIndex
        const regex = /index[a-zA-Z]+\.html/g
        const pathStr = regex.exec(item)
        console.log(pathStr)
    }
</script>
</body>
</html>